package Management;


import java.util.ArrayList;
import java.util.List;

import bean.dao.*;
import Entities.*;
import paquetes.negocioVO.*;


public class ManagementSucursal {

	private static ManagementSucursal instancia;
	
	public static ManagementSucursal getInstancia(){
		if(instancia == null)
			instancia = new ManagementSucursal();
		return instancia;
	}
	
	public SucursalVO sucursalEntitieAVO(Sucursal sucursal) {
		
			
		    SucursalVO sucursalVO = new SucursalVO();
		    sucursalVO.setId(sucursal.getId());
		    sucursalVO.setNombre(sucursal.getNombre());
		    sucursalVO.setDireccion(sucursal.getDireccion());
		    sucursalVO.setLatitud(sucursal.getLatitud());
		    sucursalVO.setLongitud(sucursal.getLongitud());
		
			return sucursalVO;	
		
	}
	
	public Sucursal VOAEntitie(SucursalVO sucursal){
		
		
		Sucursal suc = new Sucursal();
		//suc.setId(sucursal.getId());
		suc.setNombre(sucursal.getNombre());
		suc.setLatitud(sucursal.getLatitud());
		suc.setDireccion(sucursal.getDireccion());
		suc.setLongitud(sucursal.getLongitud());
		return suc;
		
		
	}

	public void guardarSucursal(String nombre,String direccion,float latitud,float longitud) {
		
		
		Sucursal sucursal = new Sucursal();
		SucursalDAO miSucursalDAO = new SucursalDAO();
		
		sucursal.setNombre(nombre);
		sucursal.setDireccion(direccion);
		sucursal.setLongitud(longitud);
		sucursal.setLatitud(latitud);
		miSucursalDAO.altaSucursal(sucursal);		
		
	}
	
	public void bajaSucursal(int id) {
		SucursalDAO miSucursalDAO = new SucursalDAO();
		miSucursalDAO.bajaSucursal(id);
	}

	public List<SucursalVO> obtenerSucursales() {
		try {
			SucursalDAO miSucursal = new SucursalDAO();
			List<Sucursal> sucursales = miSucursal.obtenerSucursales();
			List<SucursalVO> sucursalesVO = new ArrayList<SucursalVO>();
			for (int i=0;i<sucursales.size();i++)
			{
				SucursalVO s = this.sucursalEntitieAVO(sucursales.get(i));
				sucursalesVO.add(s);
			}
			return sucursalesVO;
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	public SucursalVO obtenerSucursal(int idSuc) {
		try {
			
			
			
			SucursalDAO miSucursal = new SucursalDAO();
			Sucursal sh = miSucursal.getSucursal(idSuc);
			
			System.out.println("Obtengo sucursal: "+idSuc);
			
			if (sh==null)
				return null;
			SucursalVO suc = this.sucursalEntitieAVO(sh);
			return suc;
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
		
	}

	public void editarSucursal(SucursalVO s) {
		
		Sucursal suc = new Sucursal();
		SucursalDAO miSucursalDAO = new SucursalDAO();
		suc.setNombre(s.getNombre());
	    suc.setDireccion(s.getDireccion());
		suc.setLatitud(s.getLatitud());
		suc.setLongitud(s.getLongitud());
		miSucursalDAO.actualizarSucursal(suc);
		
	}

	

	
}

